/**
 * Skeleton for the player class. 
 */

import java.lang.String;
import java.util.Random;

import javax.swing.ImageIcon;
import javax.swing.JLabel;


class CopyOfComputer extends Player{
	
	//private final ImageIcon redcircle = new ImageIcon("redcircle.png");
	//private final ImageIcon bluecircle = new ImageIcon("bluecircle.png");
	private int bluePlaced=0;
	private int redPlaced=0;

	ImageIcon myCircle, opponentsCircle;
	public CopyOfComputer(String input, ImageIcon myCircle, ImageIcon opponentsCircle) {
		super(input);
		
		this.myCircle = myCircle;
		this.opponentsCircle = opponentsCircle;
		
		
		
		// TODO Auto-generated constructor stub
	}
	
	
	//ORIGIONALLY RED WAS THE BAD CIRCLE.....
	
	
	public void removePiece(CopyOfNMMWindow copyOfNMMWindow){
		
		boolean allInMills = false;
		int[] removable = new int[9];
		int numOfRemovable = 0;
		int toRemove = 0;
		boolean proceed = true;
		
		for(int i=0; i<23; i++){
			if((copyOfNMMWindow.piece[i].getIcon()==opponentsCircle) && copyOfNMMWindow.boardPieces[i].getRemovable()){
				removable[numOfRemovable] = i;
				numOfRemovable++;
			}
		}
		Random rand = new Random();
		int random = 0 + (int)(Math.random() * ((numOfRemovable - 0) + 1));
		toRemove = removable[random];
		copyOfNMMWindow.boardPieces[toRemove].getLabel().setIcon(null);
		
		if(numOfRemovable==0){
			int i=0;
			while(proceed){
				if((copyOfNMMWindow.piece[i].getIcon()==opponentsCircle)){
					copyOfNMMWindow.boardPieces[i].getLabel().setIcon(null);
					proceed = false;
				}	
			}
		}
		
	}
	
	public int movePiece(CopyOfNMMWindow copyOfNMMWindow){
		int i;
		boolean proceed = true;
		boolean foundAdjacent = false;
		int[] moveable = new int[9];
		int[] moveTo = new int[4];
		int numberOfMoveable = 0;
		int numMoveTo = 0;
		int current = 0;
		
		for(i=0; i<23; i++){
			if((copyOfNMMWindow.piece[i].getIcon()==myCircle) && !copyOfNMMWindow.boardPieces[i].getDeadlocked()){
				moveable[numberOfMoveable] = i;
				numberOfMoveable++;
			}
		}
		
		System.out.println("Moveable pieces: " + moveable.length + " pieces");
		for(int k=0; k<moveable.length; k++){
			System.out.println(moveable[k]);
		}
		
		Random rand = new Random();
		 
		//current = moveable[rand.nextInt(numberOfMoveable)];
		
		int random = 0 + (int)(Math.random() * ((numberOfMoveable - 0) + 1));
		current = moveable[random];
		
		System.out.println("Piece to move: " + current);
		 i = current;
		if(i==0){
			if(copyOfNMMWindow.boardPieces[1].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 1;
				numMoveTo++;
			} 
			if (copyOfNMMWindow.boardPieces[9].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 9;
				numMoveTo++;
			}
		} else if(i==1){
			if(copyOfNMMWindow.boardPieces[0].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 0;
				numMoveTo++;
			}if(copyOfNMMWindow.boardPieces[2].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 2;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 4;
				numMoveTo++;
			}
		} else if(i==2){
			if(copyOfNMMWindow.boardPieces[1].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 1;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[14].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 14;
				numMoveTo++;
			}
		} else if(i==3){
			if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 4;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 10;
				numMoveTo++;
			}
		} else if(i==4){
			if(copyOfNMMWindow.boardPieces[1].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 1;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[3].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 3;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[5].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 5;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[7].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 7;
				numMoveTo++;
			}
		} else if(i==5){
			if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 4;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 13;
				numMoveTo++;
			}
		} else if(i==6){
			if(copyOfNMMWindow.boardPieces[7].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 7;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[11].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 11;
				numMoveTo++;
			}
		} else if(i==7){
			if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 4;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[6].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 6;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[8].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 8;
				numMoveTo++;
			}
		} else if(i==8){
			if(copyOfNMMWindow.boardPieces[7].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 7;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[12].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 12;
				numMoveTo++;
			}
		} else if(i==9){
			if(copyOfNMMWindow.boardPieces[0].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 0;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 10;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[21].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 21;
				numMoveTo++;
			}
		} else if(i==10){
			if(copyOfNMMWindow.boardPieces[3].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 3;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[9].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 9;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[11].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 11;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[18].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 18;
				numMoveTo++;
			}
		} else if(i==11){
			if(copyOfNMMWindow.boardPieces[6].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 6;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 10;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[15].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 15;
				numMoveTo++;
			}
		} else if(i==12){
			if(copyOfNMMWindow.boardPieces[8].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 8;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 13;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[17].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 17;
				numMoveTo++;
			}
		} else if(i==13){
			if(copyOfNMMWindow.boardPieces[5].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 5;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[12].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 12;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[14].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 14;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[20].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 20;
				numMoveTo++;
			}
		} else if(i==14){
			if(copyOfNMMWindow.boardPieces[2].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 2;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 13;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[23].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 23;
				numMoveTo++;
			}
		} else if(i==15){
			if(copyOfNMMWindow.boardPieces[11].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 11;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[16].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 16;
				numMoveTo++;
			}
		} else if(i==16){
			if(copyOfNMMWindow.boardPieces[15].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 15;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[17].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 17;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 19;
				numMoveTo++;
			}
		} else if(i==17){
			if(copyOfNMMWindow.boardPieces[12].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 12;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[16].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 16;
				numMoveTo++;
			}
		} else if(i==18){
			if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 10;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 19;
				numMoveTo++;
			}
		} else if(i==19){
			if(copyOfNMMWindow.boardPieces[16].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 16;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[18].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 18;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[20].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 20;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[22].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 22;
				numMoveTo++;
			}
		} else if(i==20){
			if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 13;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 19;
				numMoveTo++;
			}
		} else if(i==21){
			if(copyOfNMMWindow.boardPieces[9].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 9;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[22].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 22;
				numMoveTo++;
			}
		} else if(i==22){
			if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 19;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[21].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 21;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[23].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 23;
				numMoveTo++;
			}
		} else if(i==23){
			if(copyOfNMMWindow.boardPieces[14].getLabel().getIcon()==null){
				moveTo[numMoveTo] = 14;
				numMoveTo++;
			} if(copyOfNMMWindow.boardPieces[22].getLabel().getIcon()==null) {
				moveTo[numMoveTo] = 22;
				numMoveTo++;
			}
		}
		
		//i = moveTo[rand.nextInt(numMoveTo)];
		
		i = 0 + (int)(Math.random() * ((numMoveTo - 0) + 1));
		i = moveTo[(i%4)];

		
		copyOfNMMWindow.boardPieces[current].getLabel().setIcon(null);
		
		System.out.println("Moveable spots: " + moveTo.length + " spots");
		for(int k=0; k<moveTo.length; k++){
			System.out.println(moveTo[k]);
		}
		
		System.out.println("Moving from: " + current);
		System.out.println("moving to " + i);
		
		return i;
	}
	
	public int placePiece(CopyOfNMMWindow copyOfNMMWindow){
		int i=0;
		boolean proceed = true;
		boolean foundAdjacent = false;
		while(!foundAdjacent && i < 23){
			if((copyOfNMMWindow.piece[i].getIcon()==myCircle) && !copyOfNMMWindow.boardPieces[i].getDeadlocked() && copyOfNMMWindow.boardPieces[i].getLabel().getIcon()==myCircle){
				foundAdjacent = true;
				System.out.println("Found a free blue piece at: " + i);
			} else {
				foundAdjacent = false;
				i++;
			}
			
		}
		
		if(foundAdjacent){
			System.out.println("True");
			//Place next to piece that isn't dead locked
			if(i==0){
				System.out.println("Free Piece at: " + 0);
				if(copyOfNMMWindow.boardPieces[1].getLabel().getIcon()==null && copyOfNMMWindow.piece[1].getIcon()!=opponentsCircle){
					i = 1;
				} if(copyOfNMMWindow.boardPieces[9].getLabel().getIcon()==null && copyOfNMMWindow.piece[9].getIcon()!=opponentsCircle) {
					i = 9;
				}
			} else if(i==1){
				if(copyOfNMMWindow.boardPieces[0].getLabel().getIcon()==null && copyOfNMMWindow.piece[0].getIcon()!=opponentsCircle){
					i = 0;
				} else if(copyOfNMMWindow.boardPieces[2].getLabel().getIcon()==null && copyOfNMMWindow.piece[2].getIcon()!=opponentsCircle){
					i = 2;
				} if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null && copyOfNMMWindow.piece[4].getIcon()!=opponentsCircle) {
					i = 4;
				}
			} else if(i==2){
				if(copyOfNMMWindow.boardPieces[1].getLabel().getIcon()==null && copyOfNMMWindow.piece[1].getIcon()!=opponentsCircle){
					i = 1;
				} if(copyOfNMMWindow.boardPieces[14].getLabel().getIcon()==null && copyOfNMMWindow.piece[14].getIcon()!=opponentsCircle) {
					i = 14;
				}
			} else if(i==3){
				if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null && copyOfNMMWindow.piece[4].getIcon()!=opponentsCircle){
					i = 4;
				} if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null && copyOfNMMWindow.piece[10].getIcon()!=opponentsCircle) {
					i = 10;
				}
			} else if(i==4){
				if(copyOfNMMWindow.boardPieces[1].getLabel().getIcon()==null && copyOfNMMWindow.piece[1].getIcon()!=opponentsCircle){
					i = 1;
				} else if(copyOfNMMWindow.boardPieces[3].getLabel().getIcon()==null && copyOfNMMWindow.piece[3].getIcon()!=opponentsCircle){
					i = 3;
				} else if(copyOfNMMWindow.boardPieces[5].getLabel().getIcon()==null && copyOfNMMWindow.piece[5].getIcon()!=opponentsCircle){
					i = 5;
				} if(copyOfNMMWindow.boardPieces[7].getLabel().getIcon()==null && copyOfNMMWindow.piece[7].getIcon()!=opponentsCircle) {
					i = 7;
				}
			} else if(i==5){
				if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null && copyOfNMMWindow.piece[4].getIcon()!=opponentsCircle){
					i = 4;
				} if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null && copyOfNMMWindow.piece[13].getIcon()!=opponentsCircle) {
					i = 13;
				}
			} else if(i==6){
				if(copyOfNMMWindow.boardPieces[7].getLabel().getIcon()==null && copyOfNMMWindow.piece[7].getIcon()!=opponentsCircle){
					i = 7;
				} if(copyOfNMMWindow.boardPieces[11].getLabel().getIcon()==null && copyOfNMMWindow.piece[11].getIcon()!=opponentsCircle) {
					i = 11;
				}
			} else if(i==7){
				if(copyOfNMMWindow.boardPieces[4].getLabel().getIcon()==null && copyOfNMMWindow.piece[4].getIcon()!=opponentsCircle){
					i = 4;
				} else if(copyOfNMMWindow.boardPieces[6].getLabel().getIcon()==null && copyOfNMMWindow.piece[6].getIcon()!=opponentsCircle){
					i = 6;
				} if(copyOfNMMWindow.boardPieces[8].getLabel().getIcon()==null && copyOfNMMWindow.piece[8].getIcon()!=opponentsCircle) {
					i = 8;
				}
			} else if(i==8){
				if(copyOfNMMWindow.boardPieces[7].getLabel().getIcon()==null && copyOfNMMWindow.piece[7].getIcon()!=opponentsCircle){
					i = 7;
				} if(copyOfNMMWindow.boardPieces[12].getLabel().getIcon()==null && copyOfNMMWindow.piece[12].getIcon()!=opponentsCircle) {
					i = 12;
				}
			} else if(i==9){
				if(copyOfNMMWindow.boardPieces[0].getLabel().getIcon()==null && copyOfNMMWindow.piece[0].getIcon()!=opponentsCircle){
					i = 0;
				} else if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null && copyOfNMMWindow.piece[10].getIcon()!=opponentsCircle){
					i = 10;
				} if(copyOfNMMWindow.boardPieces[21].getLabel().getIcon()==null && copyOfNMMWindow.piece[21].getIcon()!=opponentsCircle) {
					i = 21;
				}
			} else if(i==10){
				if(copyOfNMMWindow.boardPieces[3].getLabel().getIcon()==null && copyOfNMMWindow.piece[3].getIcon()!=opponentsCircle){
					i = 3;
				} else if(copyOfNMMWindow.boardPieces[9].getLabel().getIcon()==null && copyOfNMMWindow.piece[9].getIcon()!=opponentsCircle){
					i = 9;
				} else if(copyOfNMMWindow.boardPieces[11].getLabel().getIcon()==null && copyOfNMMWindow.piece[11].getIcon()!=opponentsCircle){
					i = 11;
				} if(copyOfNMMWindow.boardPieces[18].getLabel().getIcon()==null && copyOfNMMWindow.piece[18].getIcon()!=opponentsCircle) {
					i = 18;
				}
			} else if(i==11){
				if(copyOfNMMWindow.boardPieces[6].getLabel().getIcon()==null && copyOfNMMWindow.piece[6].getIcon()!=opponentsCircle){
					i = 6;
				} else if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null && copyOfNMMWindow.piece[10].getIcon()!=opponentsCircle){
					i = 10;
				} if(copyOfNMMWindow.boardPieces[15].getLabel().getIcon()==null && copyOfNMMWindow.piece[15].getIcon()!=opponentsCircle) {
					i = 15;
				}
			} else if(i==12){
				if(copyOfNMMWindow.boardPieces[8].getLabel().getIcon()==null && copyOfNMMWindow.piece[8].getIcon()!=opponentsCircle){
					i = 8;
				} else if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null && copyOfNMMWindow.piece[13].getIcon()!=opponentsCircle){
					i = 13;
				} if(copyOfNMMWindow.boardPieces[17].getLabel().getIcon()==null && copyOfNMMWindow.piece[17].getIcon()!=opponentsCircle) {
					i = 17;
				}
			} else if(i==13){
				if(copyOfNMMWindow.boardPieces[5].getLabel().getIcon()==null && copyOfNMMWindow.piece[5].getIcon()!=opponentsCircle){
					i = 5;
				} else if(copyOfNMMWindow.boardPieces[12].getLabel().getIcon()==null && copyOfNMMWindow.piece[12].getIcon()!=opponentsCircle){
					i = 12;
				} else if(copyOfNMMWindow.boardPieces[14].getLabel().getIcon()==null && copyOfNMMWindow.piece[14].getIcon()!=opponentsCircle){
					i = 14;
				} if(copyOfNMMWindow.boardPieces[20].getLabel().getIcon()==null && copyOfNMMWindow.piece[20].getIcon()!=opponentsCircle) {
					i = 20;
				}
			} else if(i==14){
				if(copyOfNMMWindow.boardPieces[2].getLabel().getIcon()==null && copyOfNMMWindow.piece[2].getIcon()!=opponentsCircle){
					i = 2;
				} else if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null && copyOfNMMWindow.piece[13].getIcon()!=opponentsCircle){
					i = 13;
				} if(copyOfNMMWindow.boardPieces[23].getLabel().getIcon()==null && copyOfNMMWindow.piece[23].getIcon()!=opponentsCircle) {
					i = 23;
				}
			} else if(i==15){
				if(copyOfNMMWindow.boardPieces[11].getLabel().getIcon()==null && copyOfNMMWindow.piece[11].getIcon()!=opponentsCircle){
					i = 11;
				} if(copyOfNMMWindow.boardPieces[16].getLabel().getIcon()==null && copyOfNMMWindow.piece[16].getIcon()!=opponentsCircle) {
					i = 16;
				}
			} else if(i==16){
				if(copyOfNMMWindow.boardPieces[15].getLabel().getIcon()==null && copyOfNMMWindow.piece[15].getIcon()!=opponentsCircle){
					i = 15;
				} else if(copyOfNMMWindow.boardPieces[17].getLabel().getIcon()==null && copyOfNMMWindow.piece[17].getIcon()!=opponentsCircle){
					i = 17;
				} if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null && copyOfNMMWindow.piece[19].getIcon()!=opponentsCircle) {
					i = 19;
				}
			} else if(i==17){
				if(copyOfNMMWindow.boardPieces[12].getLabel().getIcon()==null && copyOfNMMWindow.piece[12].getIcon()!=opponentsCircle){
					i = 12;
				} if(copyOfNMMWindow.boardPieces[16].getLabel().getIcon()==null && copyOfNMMWindow.piece[16].getIcon()!=opponentsCircle) {
					i = 16;
				}
			} else if(i==18){
				if(copyOfNMMWindow.boardPieces[10].getLabel().getIcon()==null && copyOfNMMWindow.piece[10].getIcon()!=opponentsCircle){
					i = 10;
				} if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null && copyOfNMMWindow.piece[19].getIcon()!=opponentsCircle) {
					i = 19;
				}
			} else if(i==19){
				System.out.println("Free Piece at: " + 4);
				if(copyOfNMMWindow.boardPieces[16].getLabel().getIcon()==null && copyOfNMMWindow.piece[16].getIcon()!=opponentsCircle){
					i = 16;
				} else if(copyOfNMMWindow.boardPieces[18].getLabel().getIcon()==null && copyOfNMMWindow.piece[18].getIcon()!=opponentsCircle){
					i = 18;
				} else if(copyOfNMMWindow.boardPieces[20].getLabel().getIcon()==null && copyOfNMMWindow.piece[20].getIcon()!=opponentsCircle){
					i = 20;
				} if(copyOfNMMWindow.boardPieces[22].getLabel().getIcon()==null && copyOfNMMWindow.piece[22].getIcon()!=opponentsCircle) {
					i = 22;
				}
			} else if(i==20){
				if(copyOfNMMWindow.boardPieces[13].getLabel().getIcon()==null && copyOfNMMWindow.piece[13].getIcon()!=opponentsCircle){
					i = 13;
				} if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null && copyOfNMMWindow.piece[19].getIcon()!=opponentsCircle) {
					i = 19;
				}
			} else if(i==21){
				if(copyOfNMMWindow.boardPieces[9].getLabel().getIcon()==null && copyOfNMMWindow.piece[9].getIcon()!=opponentsCircle){
					i = 9;
				} if(copyOfNMMWindow.boardPieces[22].getLabel().getIcon()==null && copyOfNMMWindow.piece[22].getIcon()!=opponentsCircle) {
					i = 22;
				}
			} else if(i==22){
				if(copyOfNMMWindow.boardPieces[19].getLabel().getIcon()==null && copyOfNMMWindow.piece[19].getIcon()!=opponentsCircle){
					i = 19;
				} else if(copyOfNMMWindow.boardPieces[21].getLabel().getIcon()==null && copyOfNMMWindow.piece[21].getIcon()!=opponentsCircle){
					i = 21;
				} if(copyOfNMMWindow.boardPieces[23].getLabel().getIcon()==null && copyOfNMMWindow.piece[23].getIcon()!=opponentsCircle) {
					i = 23;
				}
			} else if(i==23){
				if(copyOfNMMWindow.boardPieces[14].getLabel().getIcon()==null && copyOfNMMWindow.piece[14].getIcon()!=opponentsCircle){
					i = 14;
				} if(copyOfNMMWindow.boardPieces[22].getLabel().getIcon()==null && copyOfNMMWindow.piece[22].getIcon()!=opponentsCircle) {
					i = 22;
				}
			}
			if(myCircle == copyOfNMMWindow.bluecircle){
				copyOfNMMWindow.blue[bluePlaced].setIcon(null);
				bluePlaced++;
				proceed = false;
			}
			if(myCircle == copyOfNMMWindow.redcircle){
				copyOfNMMWindow.red[redPlaced].setIcon(null);
				redPlaced++;
				proceed = false;
			}
		} else {
			System.out.println("False");
			while(proceed){
				i = 0 + (int)(Math.random() * ((23 - 0) + 1));
		 
					if((copyOfNMMWindow.piece[i].getIcon() != opponentsCircle) && (copyOfNMMWindow.piece[i].getIcon() == null)){
						copyOfNMMWindow.piece[i].setIcon(myCircle);
						copyOfNMMWindow.blue[bluePlaced].setIcon(null);
						if(myCircle == copyOfNMMWindow.bluecircle){
							copyOfNMMWindow.blue[bluePlaced].setIcon(null);
							bluePlaced++;
							proceed = false;
						}
						if(myCircle == copyOfNMMWindow.redcircle){
							copyOfNMMWindow.red[redPlaced].setIcon(null);
							redPlaced++;
							proceed = false;
						}
					}
				
			}
		}
		
		System.out.println(i);
		
		return i;
	}
	
}